package cn.doitedu.day02

/**
 * filter 对数组或集合进行过滤操作
 */
object FilterDemo {

  def main(args: Array[String]): Unit = {

    val arr: Array[Int] = Array(1,2,3,4,5,6,7,8,9)

    //对一个数组进行过滤，返回一个新的数组，保留偶数
    //filter方法，要求传入一个参数类型的参数，返回值为boolean类型的函数
    //如果函数返回true，就保留，返回false就过滤掉

    val f1: Int => Boolean = (x: Int) => x % 2 == 0
    val res1: Array[Int] = arr.filter(f1)

    //保留大于3的数据
    val res2: Array[Int] = arr.filter(x => x > 3)

    //保留小于5的元素
    val res3 = arr.filter(_ <= 5)

    println(res3.toBuffer)
  }
}
